package com.jiangwh.web.restful;

import javax.ws.rs.core.Response;

/**app server restful service
 * @author jiangwh
 */
public interface Facade {
	/**获取学校对应的Key
	 * @param schoolName
	 * @param schoolKey
	 * @return
	 */
	Response getSchoolKey(String schoolName);
	
	/**获取用户的上网状态
	 * @param userId
	 * @param schoolKey
	 * @return
	 */
	Response getOnlineStatus(String userId,String schoolKey);
	
	
	/**获取用户的账户信息
	 * @param userId
	 * @param schoolKey
	 * @return
	 */
	Response getAccountInfo(String userId,String schoolKey);
	
	
	/**获取用户的账务信息
	 * @param userId
	 * @param schoolKey
	 * @return
	 */
	Response getAccountDetail(String userId,String schoolKey);
	
	
	
	/**获取上网明细
	 * @param userId
	 * @param pageNo
	 * @param schoolKey
	 * @return
	 */
	Response getOnlineDetail(String userId,int pageNo,String schoolKey);
	
	
	/**获取账务流水
	 * @param userId
	 * @param pageNo
	 * @param schoolKey
	 * @return
	 */
	Response getAccountFlow(String userId,int pageNo,String schoolKey);
	
	
	/**自助暂停
	 * @param userId
	 * @param schoolKey
	 * @return
	 */
	Response postSuspendUser(String userId,String schoolKey);
	
	/**自助恢复
	 * @param userId
	 * @param schoolKey
	 * @return
	 */
	Response postResumeUser(String userId,String schoolKey);
	
	/**充值
	 * @param userId
	 * @param password
	 * @param chargeCardType
	 * @param cardNo
	 * @param schoolKey
	 * @return
	 */
	Response putCardRecharge(String userId,String password,String chargeCardType,String cardNo,String schoolKey);
	
	/**修改用户信息
	 * @param userinfo
	 * @param schoolKey
	 * @return
	 */
	Response postUserInfo(String userinfo,String schoolKey);
	
	/**删除用户信息
	 * @param userinfo
	 * @param schoolKey
	 * @return
	 */
	Response deleteUserInfo(String userinfo,String schoolKey);
	
	
	/**获取用户信息
	 * @param userId
	 * @param schoolKey
	 * @return
	 */
	Response getUserInfo(String userId,String schoolKey);
	
	/**获取用户的MAB信息
	 * @param userId
	 * @param pageNo
	 * @param schoolKey
	 * @return
	 */
	Response getUserMABInfo(String userId,int pageNo,String schoolKey);
	
	/**强制用户下线
	 * @param userId
	 * @param schoolKey
	 * @return
	 */
	Response postkickOnlineUser(String userId,String schoolKey);
	
	/**添加设备别名
	 * @param userId
	 * @param mac
	 * @param type
	 * @param name
	 * @param schoolKey
	 * @return
	 */
	Response putDeviceAlias(String userId,String mac,String type,String name,String schoolKey);
	
	/**删除设备别名
	 * @param userId
	 * @param mac
	 * @param type
	 * @param name
	 * @param schoolKey
	 * @return
	 */
	Response deleteDeviceAlias(String userId,String mac,String type,String name,String schoolKey);
	
	/**修改用户设备优先级
	 * @param userId
	 * @param priorityStr
	 * @param schoolKey
	 * @return
	 */
	Response postPriorityGrab(String userId,String priorityStr,String schoolKey);
	
	/**删除mab认证信息
	 * @param userId
	 * @param mac
	 * @param schoolKey
	 * @return
	 */
	Response deleteMABBindInfo(String userId,String mac,String schoolKey);
	
	/**删除实名制绑定信息
	 * @param userId
	 * @param mac
	 * @param schoolKey
	 * @return
	 */
	Response deleteBindUserInfo(String userId,String mac,String schoolKey);
	
	/**查询AP的信息
	 * @param APIP
	 * @param schoolKey
	 * @return
	 */
	Response getAPInfo(String APIP,String schoolKey);
	
	

	/**手机配置上传
	 * @param info
	 * @param schoolKey
	 * @return
	 */
	Response putPhoneInfo(String info,String schoolKey);
	
	
	/**用户登录
	 * @param userName
	 * @param password
	 * @return
	 */
	Response headLogin(String userName,String password);
	
	
}
